Repository navigation
chore(deps): update dependency pylint to v4.1.3 - #167
Closed
renovate[bot] wants to merge 1 commit into
Closed
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
requested review from
OscarDDD,
alpkom,
mwien and
yamaceay
as code owners
September 27, 2026 18:05
renovate
Bot
force-pushed
the
renovate/pylint-4.x
branch
from
October 3, 2026 16:56
0c9a1a9 to
8e79fb4
Compare
renovate
Bot
force-pushed
the
renovate/pylint-4.x
branch
from
October 3, 2026 22:03
8e79fb4 to
2948e7a
Compare
renovate
Bot
force-pushed
the
renovate/pylint-4.x
branch
from
October 7, 2026 03:14
2948e7a to
e7c4c5b
Compare
renovate
Bot
force-pushed
the
renovate/pylint-4.x
branch
from
October 13, 2026 13:57
e7c4c5b to
523e68a
Compare
renovate
Bot
force-pushed
the
renovate/pylint-4.x
branch
from
October 15, 2026 11:23
523e68a to
668c6f9
Compare
Contributor
|
Closing in favor of #190 |
Contributor
Author
Renovate Ignore NotificationBecause you closed this PR without merging, Renovate will ignore this update ( If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==4.0.8→==4.1.3Release Notes
pylint-dev/pylint (pylint)
v4.1.3Compare Source
What's new in Pylint 4.1.3?
Release date: 2026-10-11
False Positives Fixed
Fixed a false positive for
attribute-defined-outside-initwhen anattribute is assigned inside the setter of an old-style, non-decorator
property(fget, fset)call. The decorator form (@property/@x.setter) was already exempted by the fix for #409; the classiccall form was not.
Closes #3325
Fix a false positive for
used-before-assignmentwhen a name bound by an earliertarget of the same assignment is used by a later target, as in
a = b[a] = 0.Closes #5955
Fix a
no-memberfalse positive in a comprehension inside a branch thatcannot run, such as
if sys.platform == "win32":on Linux. Like the rest ofthe branch, the comprehension is no longer checked for missing members.
Closes #7240
Fix a false positive for
used-before-assignmentwhen a name bound by a tupleor list target of a
withitem is used by a later item of the samewithstatement.Closes #7545
Fix false positives such as
not-callable,not-an-iterable,unpacking-non-sequenceandno-memberon the result of a function whosebody is only
..., like@overloadand.pyistubs. Such calls wereinferred as returning
None. This affectedsqlalchemy.func,pydantic.Field, and thetorchfunctions wrapped by_add_docstr,such as
torch.linalg.qr.Closes #8138
Closes #9218
Closes #9354
Closes #10087
Fix a false positive for
protected-accesswhen a subclass of a subscriptedgeneric base, such as
class Child(Parent[T]), accesses a protected memberthrough that base, such as
Parent._foo(self).Closes #8600
Avoid emitting
unreachablefor ayieldimmediately afterraiseorsys.exit()that marks a function as a generator, matching the existinghandling of
return.Closes #8909
Fix a false positive for
super-init-not-calledin.pyistub files, whereevery
__init__body is...and cannot call the parent's__init__.Closes #9096
Fix a false positive for
possibly-used-before-assignmentwhen a lambdauses its parameters, including from a nested lambda, and that name is assigned
later in the module.
Closes #9126
Fix a false positive for
useless-parent-delegationwhen a keyword-onlyparameter is passed to the parent under the same keyword but with a different value.
Closes #9226
Fix a false positive for
unused-argumentin.pyistub files, wherefunction bodies are
...and cannot use their arguments.Closes #9417
Fix a false positive for
used-before-assignmentwhen a name assigned with anassignment expression in the condition of a comprehension is used in its element,
for example
[y for x in data if (y := f(x))].Closes #9460
Fixed false positive
arguments-differandsignature-differsfortyping.overloadstubs. Overload stubs in a subclass are no longer comparedto the overridden method, and an overridden method with overloads is compared
through its implementation instead of its first stub.
Closes #10186
Closes #5264
Stop emitting
redefined-variable-typewhen the bare_variable isreused to discard values of different types.
Closes #10374
Allow the
__main__module name in thecamelCase,PascalCaseandUPPER_CASEnaming styles without reportinginvalid-name.Closes #10442
Fixed a false positive for
unexpected-keyword-argwhen a decorator thatreturns its argument unchanged is stacked above a decorator accepting
**kwargs.Closes #10831
Fix
invalid-namefalse positives for module-level all-caps aliases thatpreserve the name of an external callable.
Closes #11012
redefined-builtinno longer warns for method parameters that retain abuilt-in name from an overridden method.
Closes #11438
Fixed a false positive for
useless-suppressionofline-too-longwhen a#inside a string literal comes before the# pylint: disable=line-too-longcomment.Closes #11440
Fix a false positive for
unnecessary-ellipsiswhen an ellipsis is thesole body statement of a
Protocolmethod defined inside a conditional blocksuch as
if TYPE_CHECKING:.Closes #11459
Fix a false positive for
unnecessary-negationwhen negating a comparisonbetween instances of a
setorfrozensetsubclass.Refs #11513
Other Bug Fixes
Fix
pyreversehanging or crashing with aRecursionErrorwhen--all-associated(-S) follows an attribute whose inferred class is rebuilt byastroid on every inference, such as a
numpyarray.Closes #3602
Fix a crash in
pyreversewhen a diagram includes a class created bynamedtuple, or anargparse.Namespace.Closes #10767
The "difference" column of the "Messages by category" and "Duplication" reports
(
--reports=y) now shows the change since the previous run instead of repeatingthe previous count.
Closes #11520
Fixed
nested-min-maxsuggesting a non-equivalent rewrite when an innermin/maxcall had multiple arguments.Refs #11593
Using several output formats that all write to stdout (for example
--output-format=colorized,no-header)now raises an error instead of printing every message more than once.
Closes #11597
Fixed an
IndexErrorcrash in the typecheck checker when anEnumclass defines an__init__method without arguments.Closes #11608
Fix a crash in the
duplicate-codechecker whenmin-similarity-linesis set to0.The checker is now disabled in that case, as documented.
Closes #11625
v4.1.2Compare Source
What's new in Pylint 4.1.2?
Release date: 2026-10-03
False Positives Fixed
Fixed a false positive
unbalanced-tuple-unpackingwhen unpacking a tupleconcatenation whose elements have several possible values.
Fixed by upgrading astroid to 4.3.3.
Closes #2621
Other Bug Fixes
Fixed a crash when calling
__bases__on a class.Fixed by upgrading astroid to 4.3.3.
Closes #11491
Fix a crash (
astroid-error) when the class of a called attribute cannotbe fully inferred, for example when the attribute is used as a
withstatement target or inside a comprehension.
Closes #11492
Fix a crash when a name bound by a
typestatement (a TypeVar) is used in awithstatement.Closes #11510
Fixed a crash (
TypeError) in the variables checker when checking a classwhose metaclass name binding has no line number, for example a class defined
with
metaclass=__annotations__.Closes #11511
Fix a crash in the
using-final-decorator-in-unsupported-versioncheckwhen
import finalis used.Closes #11521
Fix a crash when a plugin passes
confidence=Nonetoadd_message, aspylint-pytestdoes, for a message that is disabled.confidence=Noneisaccepted again and means
UNDEFINED, like in pylint 4.0. Passing itexplicitly to
add_message,add_ignored_messageorMessagenow emits aDeprecationWarning: it will raise an error in pylint 5.0.Closes #11530
v4.1.1Compare Source
What's new in Pylint 4.1.1?
Release date: 2026-09-29
Other Changes
Pylint 4.1.0 could not be uploaded to PyPI, because it required an unreleased
version of
dillon Python 3.15, and PyPI refuses such a dependency. 4.1.1 isthe first 4.1 release available on PyPI, see the 4.1.0 changes below.
Refs #11495
v4.0.10Compare Source
What's new in Pylint 4.0.10?
Release date: 2026-09-29
False Positives Fixed
Fix false positives for :ref:
unnecessary-lambdawhen a variable referenced inthe called expression is assigned, reassigned, or deleted later in the same scope.
Closes #8192
Fix a false positive for
unused-argumentin dataclass__new__methodswhen the arguments are consumed by a generated
__init__method.Closes #9843
Fix a false positive for
missing-kwoawhen keyword-only arguments are passedthrough a
**kwargsdictionary that is not a literal at the call site, forexample one filled with
options["key"] = valueafter its creation.Closes #10029
ungrouped-importsno longer reports imports inside mutually exclusiveOS guard branches (
if os.name == "nt":/if sys.platform == "win32":),matching the existing behavior for
sys.version_infoguards.Closes #10460
Other Bug Fixes
A
TypeErrorcrash could occur when checking aforloop thatiterates over a subscript with non-numeric constant bounds or a zero
step, e.g.
for a, b in {"k": [][0: ""]}.values():.Closes #11472
Fix a crash (
AttributeError: 'ClassDef' object has no attribute 'expr') in theimport-private-nameextension when an annotated assignment's value is anattribute access on a call rooted at a non-
Namenode, e.g.x: str = ''().a.Closes #11479
v4.0.9Compare Source
What's new in Pylint 4.0.9?
Release date: 2026-09-23
Security Fixes
to the cache directory (predictable
PYLINT_HOMEon a multi-user host) can nolonger write a crafted pickle that will runs arbitrary code when pylint access its
stat cache. The result cache is now stored as JSON instead of pickle,
preventing code-execution. The workaround is upgrading or not pointing
PYLINT_HOMEto an untrusted, shared, or group-writable directory. The default value,
~/.cache/pylint,is writable only by the user running pylint. (CVE with the same information pending)
False Positives Fixed
Fixed a false positive for
no-self-useon a method that only usesselfbefore a locally defined class (or other nested method), becausethe checker's could-be-a-function tracking state was not restored after
visiting the nested method.
Closes #3705
Fix a false positive for :ref:
not-callablewhen calling functions constructed withtypes.FunctionTypeortypes.LambdaType.Closes #7500
Fix a false positive for
unnecessary-direct-lambda-callwhen a directly calledlambda in a class body wraps a comprehension containing an assignment expression.
PEP 572 makes that a
SyntaxErrorwithout the lambda's scope, so following themessage produced code that would not compile.
Closes #9294
Fix a false positive for :ref:
unnecessary-ellipsiswhen an ellipsis is thesole body statement of a method defined on a
Protocol.Closes #9319
Fix a false positive for :ref:
bad-exception-causewhen the bases of the classbeing raised from cannot be inferred, such as an exception deriving from a
C extension class. :ref:
raising-non-exceptionand:ref:
catching-non-exceptionalready guard the sameinherit_from_std_exhelper with
has_known_bases.Refs #11399
False Negatives Fixed
method-hiddenis no longer silenced when the hidden method shares its name witha builtin function or with a function defined at module level. Only members of the
ancestor classes themselves can excuse the method now.
Refs #11361
Other Bug Fixes
Fix a block-scoped
# pylint: disable=directive placed inside anifbody leaking into sibling
elif/elseblocks for messages such asstop-iteration-return, which default to a line-based (rather thannode-based) message scope.
Closes #3136
Fix a false positive for
declare-non-slotwhen a class variable isannotated with
ClassVarwithout an initial value.Closes #9950
Fix a crash in the
no-memberchecker when attribute lookup raises anInferenceError.Closes #11356
Fix a crash in the
unnecessary-default-type-argscheck when aGeneratoror
AsyncGeneratorsubscript holds an empty tuple, such asGenerator[()].Closes #11357
Fix a crash in
method-hiddenwhen a method shadows a name thatbuiltinsbinds to a node without a statement, such as
helporlicense. Every classinherits from
object, which lives in thebuiltinsmodule, so no base classwas needed to trigger it.
Closes #11361
Closes #8079
Configuration
📅 Schedule: (in timezone Europe/Berlin)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.